{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c9c1fd62-dcd0-48ee-85fa-4c9bad7af52d",
   "metadata": {},
   "source": [
    "# Piecewise linear trends & changepoints\n",
    "\n",
    "[Feature Engineering for Time Series Forecasting](https://www.trainindata.com/p/feature-engineering-for-forecasting)\n",
    "\n",
    "In this notebook we will show how to create features to capture changepoints by building a piecewise linear regression. We will use recursive forecasting to see how we can use this in practice!\n",
    "\n",
    "We will work with a monthly retail sales dataset (found [here](https://raw.githubusercontent.com/facebook/prophet/master/examples/example_retail_sales.csv)).\n",
    "\n",
    "For instructions on how to download, prepare, and store the dataset, refer to notebook number 1, in the folder \"01-Create-Datasets\" from this repo.\n",
    "\n",
    "## Data Set Synopsis\n",
    "\n",
    "The timeseries is between January 1992 and Apr 2005.\n",
    "\n",
    "It consists of a single series of monthly values representing sales volumes. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "9a86e7d9-212c-4d82-b896-20a4e078c336",
   "metadata": {},
   "outputs": [],
   "source": [
    "import datetime\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_context(\"talk\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "0b41fdf4-7f04-4fa6-ae61-5831d3b36473",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(\n",
    "    \"../Datasets/example_retail_sales.csv\",\n",
    "    parse_dates=[\"ds\"],\n",
    "    index_col=[\"ds\"],\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a2b56446-4753-4240-9c75-b1c1698c1766",
   "metadata": {},
   "source": [
    "# Plot time series"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "e096e012-faba-477d-b0b3-6d2a2aac6407",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=[10, 5])\n",
    "data.plot(y=\"y\", marker=\".\", figsize=[10, 5], legend=None, ax=ax)\n",
    "ax.set_xlabel(\"Time\")\n",
    "ax.set_ylabel(\"Retail Sales\")\n",
    "ax.set_title(\"Retail Sales\")\n",
    "ax.vlines(\n",
    "    [\"2008-01-01\", \"2009-04-01\"],\n",
    "    ymin=data[\"y\"].min(),\n",
    "    ymax=data[\"y\"].max(),\n",
    "    color=\"r\",\n",
    "    alpha=0.5,\n",
    ")\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "67971d8a-7f20-4a42-b109-11b07d4605ba",
   "metadata": {},
   "source": [
    "# Creating the features with Pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "3d6fd251",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = data.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "63c44ca4",
   "metadata": {},
   "source": [
    "Specify the timepoints to create our trend and changepoint features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "d41a7d56-f519-4971-ba85-4773011629d7",
   "metadata": {},
   "outputs": [],
   "source": [
    "changepoints = [\n",
    "    \"1992-01-01\",  # start of time series\n",
    "    \"2008-01-01\",  # changepoint\n",
    "    \"2009-04-01\",  # changepoint\n",
    "]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "207cff74-323d-4053-a2ba-c780ac8dfe01",
   "metadata": {},
   "outputs": [],
   "source": [
    "for changepoint in changepoints:\n",
    "    changepoint_dt = pd.to_datetime(changepoint)\n",
    "    feat_name = f\"time_since_{changepoint_dt}\"\n",
    "    time_diff = df.index - changepoint_dt\n",
    "    # Convert from time delta to numeric\n",
    "    time_diff = np.round(time_diff / np.timedelta64(1, \"M\"))\n",
    "    df[feat_name] = time_diff\n",
    "    df[feat_name] = df[feat_name].clip(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "274483b6-bbbe-4f1b-902a-d0f4a9df63e7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>y</th>\n",
       "      <th>time_since_1992-01-01 00:00:00</th>\n",
       "      <th>time_since_2008-01-01 00:00:00</th>\n",
       "      <th>time_since_2009-04-01 00:00:00</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ds</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2009-01-01</th>\n",
       "      <td>310269</td>\n",
       "      <td>204.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-02-01</th>\n",
       "      <td>299488</td>\n",
       "      <td>205.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-03-01</th>\n",
       "      <td>328568</td>\n",
       "      <td>206.0</td>\n",
       "      <td>14.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-04-01</th>\n",
       "      <td>329866</td>\n",
       "      <td>207.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-05-01</th>\n",
       "      <td>347768</td>\n",
       "      <td>208.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-06-01</th>\n",
       "      <td>344439</td>\n",
       "      <td>209.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2009-07-01</th>\n",
       "      <td>348106</td>\n",
       "      <td>210.0</td>\n",
       "      <td>18.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 y  time_since_1992-01-01 00:00:00  \\\n",
       "ds                                                   \n",
       "2009-01-01  310269                           204.0   \n",
       "2009-02-01  299488                           205.0   \n",
       "2009-03-01  328568                           206.0   \n",
       "2009-04-01  329866                           207.0   \n",
       "2009-05-01  347768                           208.0   \n",
       "2009-06-01  344439                           209.0   \n",
       "2009-07-01  348106                           210.0   \n",
       "\n",
       "            time_since_2008-01-01 00:00:00  time_since_2009-04-01 00:00:00  \n",
       "ds                                                                          \n",
       "2009-01-01                            12.0                             0.0  \n",
       "2009-02-01                            13.0                             0.0  \n",
       "2009-03-01                            14.0                             0.0  \n",
       "2009-04-01                            15.0                             0.0  \n",
       "2009-05-01                            16.0                             1.0  \n",
       "2009-06-01                            17.0                             2.0  \n",
       "2009-07-01                            18.0                             3.0  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[\n",
    "    changepoint_dt - np.timedelta64(3, \"M\") : changepoint_dt + np.timedelta64(3, \"M\")\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea5c9195-aee2-475a-a199-18a311452f0e",
   "metadata": {},
   "source": [
    "# Creating the features with sktime "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7ebce80b-b152-4812-b1d0-b29462bfb685",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sktime.transformations.series.time_since import TimeSince"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "9bc1e79f-1b8b-4b4e-bd37-80e054fc573e",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = data.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "711969b2-b075-4289-89c4-c1b60ca0a84a",
   "metadata": {},
   "source": [
    "Manually specify the changepoints."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "e1fef34a-2832-4c74-b050-b8cce13add21",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Specify changepoints\n",
    "changepoints = [\n",
    "    \"1992-01-01\",  # start of time series\n",
    "    \"2008-01-01\",  # changepoint\n",
    "    \"2009-04-01\",  # changepoint\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "409a6443-60b8-403a-acd2-a3e8dc9efec9",
   "metadata": {},
   "source": [
    "Use the `TimeSince` transformer to create the changepoint features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "2cd172ab-d3b1-4ba0-96d6-4fc43c94aa7c",
   "metadata": {},
   "outputs": [],
   "source": [
    "time_since_transformer = TimeSince(\n",
    "    start=changepoints, positive_only=True, keep_original_columns=True\n",
    ")\n",
    "\n",
    "df = time_since_transformer.fit_transform(df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "e1b381d4-7939-4a1d-accb-0862194e2ae7",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>y</th>\n",
       "      <th>time_since_1992-01-01 00:00:00</th>\n",
       "      <th>time_since_2008-01-01 00:00:00</th>\n",
       "      <th>time_since_2009-04-01 00:00:00</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ds</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2007-10-01</th>\n",
       "      <td>368681</td>\n",
       "      <td>189</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2007-11-01</th>\n",
       "      <td>377802</td>\n",
       "      <td>190</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2007-12-01</th>\n",
       "      <td>426077</td>\n",
       "      <td>191</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-01-01</th>\n",
       "      <td>342697</td>\n",
       "      <td>192</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-02-01</th>\n",
       "      <td>343937</td>\n",
       "      <td>193</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-03-01</th>\n",
       "      <td>372923</td>\n",
       "      <td>194</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-04-01</th>\n",
       "      <td>368923</td>\n",
       "      <td>195</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-05-01</th>\n",
       "      <td>397969</td>\n",
       "      <td>196</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-06-01</th>\n",
       "      <td>378490</td>\n",
       "      <td>197</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2008-07-01</th>\n",
       "      <td>383686</td>\n",
       "      <td>198</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 y  time_since_1992-01-01 00:00:00  \\\n",
       "ds                                                   \n",
       "2007-10-01  368681                             189   \n",
       "2007-11-01  377802                             190   \n",
       "2007-12-01  426077                             191   \n",
       "2008-01-01  342697                             192   \n",
       "2008-02-01  343937                             193   \n",
       "2008-03-01  372923                             194   \n",
       "2008-04-01  368923                             195   \n",
       "2008-05-01  397969                             196   \n",
       "2008-06-01  378490                             197   \n",
       "2008-07-01  383686                             198   \n",
       "\n",
       "            time_since_2008-01-01 00:00:00  time_since_2009-04-01 00:00:00  \n",
       "ds                                                                          \n",
       "2007-10-01                               0                               0  \n",
       "2007-11-01                               0                               0  \n",
       "2007-12-01                               0                               0  \n",
       "2008-01-01                               0                               0  \n",
       "2008-02-01                               1                               0  \n",
       "2008-03-01                               2                               0  \n",
       "2008-04-01                               3                               0  \n",
       "2008-05-01                               4                               0  \n",
       "2008-06-01                               5                               0  \n",
       "2008-07-01                               6                               0  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.loc[\"2007-10\":].head(10)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9d20fba2-1d7b-472c-a73a-d67e55173bb7",
   "metadata": {},
   "source": [
    "# Let's build a forecast!"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9c5fd8c7-69b8-434e-a910-118350bd8c64",
   "metadata": {},
   "source": [
    "Let's build a recursive forecast and see how our changepoint features can help!"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "ed621e53-5273-44b5-9b61-02370c1302d6",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Let's ensure all sklearn transformers output pandas dataframes\n",
    "from sklearn import set_config\n",
    "from sklearn.base import clone\n",
    "from sklearn.pipeline import make_pipeline, make_union\n",
    "from sklearn.preprocessing import MinMaxScaler, PolynomialFeatures\n",
    "from sktime.transformations.series.summarize import WindowSummarizer\n",
    "from sktime.transformations.series.time_since import TimeSince\n",
    "\n",
    "set_config(transform_output=\"pandas\")  # Upgrade to scikit-learn 0.12\n",
    "# for this feature"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "cbd4455e-655d-4fa0-b30c-19370719c948",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>y</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ds</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1992-01-01</th>\n",
       "      <td>146376</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-02-01</th>\n",
       "      <td>147079</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-03-01</th>\n",
       "      <td>159336</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-04-01</th>\n",
       "      <td>163669</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-05-01</th>\n",
       "      <td>170068</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 y\n",
       "ds                \n",
       "1992-01-01  146376\n",
       "1992-02-01  147079\n",
       "1992-03-01  159336\n",
       "1992-04-01  163669\n",
       "1992-05-01  170068"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = data.copy()\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bc449c94-2458-4437-99fc-c924250ad3c8",
   "metadata": {},
   "source": [
    "Specify target name."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "8b382dd8-f8dc-49b4-90aa-b039cf155105",
   "metadata": {},
   "outputs": [],
   "source": [
    "target = [\"y\"]  # Note: it's in a list.\n",
    "# This ensures we'll get\n",
    "# a dataframe when using df.loc[:, target]\n",
    "# rather than a pandas Series.\n",
    "# This can also be useful if we have\n",
    "# multiple targets."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "56de76ff-19e0-4102-9f13-be9778df3dbb",
   "metadata": {},
   "source": [
    "Prepare our transformers."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "d8660092-f496-4e67-99b4-f4b17365eb2a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Polynomial time features\n",
    "time_feats = make_pipeline(\n",
    "    TimeSince(), PolynomialFeatures(degree=1, include_bias=False)\n",
    ")\n",
    "\n",
    "# Compute features for piecewise regression\n",
    "# which helps us handle changepoints.\n",
    "changepoints = [\n",
    "    \"2008-01-01\",  # changepoint\n",
    "    \"2009-04-01\",  # changepoint\n",
    "]\n",
    "\n",
    "changepoint_feats = TimeSince(changepoints, positive_only=True)\n",
    "\n",
    "# Features computed from the target.\n",
    "# Compute lag and window features.\n",
    "lag_window_feats = WindowSummarizer(\n",
    "    lag_feature={\n",
    "        \"lag\": [1],  # Lag features.\n",
    "#        \"mean\": [[1, 12]],  # [[lag, window size]]\n",
    "    },\n",
    "    target_cols=target,\n",
    "    truncate=\"bfill\",  # Backfill missing values from lagging and windowing.\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "20a58ad5-ca11-4e2d-8724-67f56cb39385",
   "metadata": {},
   "source": [
    "Create a pipeline to create all our features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "338d178b-3407-45d4-ad66-3bd7051f77be",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Create features derived independent of one another\n",
    "pipeline = make_union(time_feats, changepoint_feats, lag_window_feats)\n",
    "\n",
    "# Apply min-max scaling to all the features\n",
    "pipeline = make_pipeline(pipeline, MinMaxScaler())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "4d023cc3-82e7-4fa5-ad83-bca777c2771e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Pipeline(steps=[(&#x27;featureunion&#x27;,\n",
       "                 FeatureUnion(transformer_list=[(&#x27;pipeline&#x27;,\n",
       "                                                 Pipeline(steps=[(&#x27;timesince&#x27;,\n",
       "                                                                  TimeSince()),\n",
       "                                                                 (&#x27;polynomialfeatures&#x27;,\n",
       "                                                                  PolynomialFeatures(degree=1,\n",
       "                                                                                     include_bias=False))])),\n",
       "                                                (&#x27;timesince&#x27;,\n",
       "                                                 TimeSince(positive_only=True,\n",
       "                                                           start=[&#x27;2008-01-01&#x27;,\n",
       "                                                                  &#x27;2009-04-01&#x27;])),\n",
       "                                                (&#x27;windowsummarizer&#x27;,\n",
       "                                                 WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1]},\n",
       "                                                                  target_cols=[&#x27;y&#x27;],\n",
       "                                                                  truncate=&#x27;bfill&#x27;))])),\n",
       "                (&#x27;minmaxscaler&#x27;, MinMaxScaler())])</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" ><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">Pipeline</label><div class=\"sk-toggleable__content\"><pre>Pipeline(steps=[(&#x27;featureunion&#x27;,\n",
       "                 FeatureUnion(transformer_list=[(&#x27;pipeline&#x27;,\n",
       "                                                 Pipeline(steps=[(&#x27;timesince&#x27;,\n",
       "                                                                  TimeSince()),\n",
       "                                                                 (&#x27;polynomialfeatures&#x27;,\n",
       "                                                                  PolynomialFeatures(degree=1,\n",
       "                                                                                     include_bias=False))])),\n",
       "                                                (&#x27;timesince&#x27;,\n",
       "                                                 TimeSince(positive_only=True,\n",
       "                                                           start=[&#x27;2008-01-01&#x27;,\n",
       "                                                                  &#x27;2009-04-01&#x27;])),\n",
       "                                                (&#x27;windowsummarizer&#x27;,\n",
       "                                                 WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1]},\n",
       "                                                                  target_cols=[&#x27;y&#x27;],\n",
       "                                                                  truncate=&#x27;bfill&#x27;))])),\n",
       "                (&#x27;minmaxscaler&#x27;, MinMaxScaler())])</pre></div></div></div><div class=\"sk-serial\"><div class=\"sk-item sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" ><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">featureunion: FeatureUnion</label><div class=\"sk-toggleable__content\"><pre>FeatureUnion(transformer_list=[(&#x27;pipeline&#x27;,\n",
       "                                Pipeline(steps=[(&#x27;timesince&#x27;, TimeSince()),\n",
       "                                                (&#x27;polynomialfeatures&#x27;,\n",
       "                                                 PolynomialFeatures(degree=1,\n",
       "                                                                    include_bias=False))])),\n",
       "                               (&#x27;timesince&#x27;,\n",
       "                                TimeSince(positive_only=True,\n",
       "                                          start=[&#x27;2008-01-01&#x27;, &#x27;2009-04-01&#x27;])),\n",
       "                               (&#x27;windowsummarizer&#x27;,\n",
       "                                WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1]},\n",
       "                                                 target_cols=[&#x27;y&#x27;],\n",
       "                                                 truncate=&#x27;bfill&#x27;))])</pre></div></div></div><div class=\"sk-parallel\"><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><label>pipeline</label></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-3\" type=\"checkbox\" ><label for=\"sk-estimator-id-3\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">TimeSince</label><div class=\"sk-toggleable__content\"><pre>TimeSince()</pre></div></div></div><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-4\" type=\"checkbox\" ><label for=\"sk-estimator-id-4\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">PolynomialFeatures</label><div class=\"sk-toggleable__content\"><pre>PolynomialFeatures(degree=1, include_bias=False)</pre></div></div></div></div></div></div></div></div><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><label>timesince</label></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-5\" type=\"checkbox\" ><label for=\"sk-estimator-id-5\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">TimeSince</label><div class=\"sk-toggleable__content\"><pre>TimeSince(positive_only=True, start=[&#x27;2008-01-01&#x27;, &#x27;2009-04-01&#x27;])</pre></div></div></div></div></div></div><div class=\"sk-parallel-item\"><div class=\"sk-item\"><div class=\"sk-label-container\"><div class=\"sk-label sk-toggleable\"><label>windowsummarizer</label></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-6\" type=\"checkbox\" ><label for=\"sk-estimator-id-6\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">WindowSummarizer</label><div class=\"sk-toggleable__content\"><pre>WindowSummarizer(lag_feature={&#x27;lag&#x27;: [1]}, target_cols=[&#x27;y&#x27;], truncate=&#x27;bfill&#x27;)</pre></div></div></div></div></div></div></div></div><div class=\"sk-item\"><div class=\"sk-estimator sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-7\" type=\"checkbox\" ><label for=\"sk-estimator-id-7\" class=\"sk-toggleable__label sk-toggleable__label-arrow\">MinMaxScaler</label><div class=\"sk-toggleable__content\"><pre>MinMaxScaler()</pre></div></div></div></div></div></div></div>"
      ],
      "text/plain": [
       "Pipeline(steps=[('featureunion',\n",
       "                 FeatureUnion(transformer_list=[('pipeline',\n",
       "                                                 Pipeline(steps=[('timesince',\n",
       "                                                                  TimeSince()),\n",
       "                                                                 ('polynomialfeatures',\n",
       "                                                                  PolynomialFeatures(degree=1,\n",
       "                                                                                     include_bias=False))])),\n",
       "                                                ('timesince',\n",
       "                                                 TimeSince(positive_only=True,\n",
       "                                                           start=['2008-01-01',\n",
       "                                                                  '2009-04-01'])),\n",
       "                                                ('windowsummarizer',\n",
       "                                                 WindowSummarizer(lag_feature={'lag': [1]},\n",
       "                                                                  target_cols=['y'],\n",
       "                                                                  truncate='bfill'))])),\n",
       "                ('minmaxscaler', MinMaxScaler())])"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipeline"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "67308fd6-1efa-4f1b-93e0-7cc7c77327e0",
   "metadata": {},
   "source": [
    "Let's check how our feature engineering pipeline behaves."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "6b5ad864-dcaf-45bf-90ff-6177ffdda416",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time_since_1992-01-01 00:00:00</th>\n",
       "      <th>time_since_2008-01-01 00:00:00</th>\n",
       "      <th>time_since_2009-04-01 00:00:00</th>\n",
       "      <th>y_lag_1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ds</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1992-01-01</th>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-02-01</th>\n",
       "      <td>0.003425</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-03-01</th>\n",
       "      <td>0.006849</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.001890</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-04-01</th>\n",
       "      <td>0.010274</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.034850</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992-05-01</th>\n",
       "      <td>0.013699</td>\n",
       "      <td>0.00</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.046502</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-01-01</th>\n",
       "      <td>0.986301</td>\n",
       "      <td>0.96</td>\n",
       "      <td>0.952941</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-02-01</th>\n",
       "      <td>0.989726</td>\n",
       "      <td>0.97</td>\n",
       "      <td>0.964706</td>\n",
       "      <td>0.684506</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-01</th>\n",
       "      <td>0.993151</td>\n",
       "      <td>0.98</td>\n",
       "      <td>0.976471</td>\n",
       "      <td>0.718458</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-04-01</th>\n",
       "      <td>0.996575</td>\n",
       "      <td>0.99</td>\n",
       "      <td>0.988235</td>\n",
       "      <td>0.843604</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-05-01</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.00</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.818978</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>293 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            time_since_1992-01-01 00:00:00  time_since_2008-01-01 00:00:00  \\\n",
       "ds                                                                           \n",
       "1992-01-01                        0.000000                            0.00   \n",
       "1992-02-01                        0.003425                            0.00   \n",
       "1992-03-01                        0.006849                            0.00   \n",
       "1992-04-01                        0.010274                            0.00   \n",
       "1992-05-01                        0.013699                            0.00   \n",
       "...                                    ...                             ...   \n",
       "2016-01-01                        0.986301                            0.96   \n",
       "2016-02-01                        0.989726                            0.97   \n",
       "2016-03-01                        0.993151                            0.98   \n",
       "2016-04-01                        0.996575                            0.99   \n",
       "2016-05-01                        1.000000                            1.00   \n",
       "\n",
       "            time_since_2009-04-01 00:00:00   y_lag_1  \n",
       "ds                                                    \n",
       "1992-01-01                        0.000000  0.000000  \n",
       "1992-02-01                        0.000000  0.000000  \n",
       "1992-03-01                        0.000000  0.001890  \n",
       "1992-04-01                        0.000000  0.034850  \n",
       "1992-05-01                        0.000000  0.046502  \n",
       "...                                    ...       ...  \n",
       "2016-01-01                        0.952941  1.000000  \n",
       "2016-02-01                        0.964706  0.684506  \n",
       "2016-03-01                        0.976471  0.718458  \n",
       "2016-04-01                        0.988235  0.843604  \n",
       "2016-05-01                        1.000000  0.818978  \n",
       "\n",
       "[293 rows x 4 columns]"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pipeline.fit_transform(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "07a56e01-5b1f-495c-9ceb-945bd480bacf",
   "metadata": {},
   "source": [
    "Let's reset our feature engineering pipeline."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "41115a8a-60e8-497a-b44d-672aa1e1612b",
   "metadata": {},
   "outputs": [],
   "source": [
    "# We can use `clone` to return an unfitted version\n",
    "# of the pipeline.\n",
    "pipeline = clone(pipeline)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "77cd59ac-755d-4312-adcd-131bee4bb4d3",
   "metadata": {},
   "source": [
    "Let's build a recursive forecast."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "0cee9e47-5e66-4d00-98ae-738f60b5ac74",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.ensemble import HistGradientBoostingRegressor\n",
    "from sklearn.linear_model import Lasso, LinearRegression, Ridge\n",
    "from sklearn.tree import DecisionTreeRegressor"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "ab3d1c0a-ea5a-4e86-a2be-1e83916ec383",
   "metadata": {},
   "outputs": [],
   "source": [
    "# --- CONFIG --- #\n",
    "# Define time of first forecast, this determines our train / test split\n",
    "forecast_start_time = pd.to_datetime(\"2013-01-01\")\n",
    "\n",
    "# Define number of steps to forecast.\n",
    "num_of_forecast_steps = 36\n",
    "\n",
    "# Define the model.\n",
    "model = LinearRegression()\n",
    "\n",
    "# Create a list of periods that we'll forecast over.\n",
    "forecast_horizon = pd.date_range(\n",
    "    forecast_start_time, periods=num_of_forecast_steps, freq=\"MS\"\n",
    ")\n",
    "\n",
    "# How much data in the past is needed to create our features\n",
    "look_back_window_size = pd.DateOffset(months=12)\n",
    "# We need the latest 12 time periods\n",
    "# in our predict dataframe to build our\n",
    "# window features."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "0a61b99a-9a53-48a7-993c-0b792fde3ce8",
   "metadata": {},
   "outputs": [],
   "source": [
    "# --- CREATE TRAINING & TESTING DATAFRAME  --- #\n",
    "# Ensure we only have training data up to the start\n",
    "# of the forecast.\n",
    "df_train = df.loc[df.index < forecast_start_time].copy()\n",
    "df_test = df.loc[df.index >= forecast_start_time].copy()\n",
    "\n",
    "# --- FEATURE ENGINEERING--- #\n",
    "# Create X_train and y_train\n",
    "y_train = df_train[target]\n",
    "X_train = pipeline.fit_transform(df_train)\n",
    "\n",
    "# --- MODEL TRAINING---#\n",
    "# Train one-step ahead forecast model\n",
    "model.fit(X_train, y_train)\n",
    "\n",
    "# --- CREATE DYNAMIC PREDICTION DATAFRAME  --- #\n",
    "# We will recursively append our forecasts to this\n",
    "# dataframe and re-compute our lag and window features from the\n",
    "# target in this dataframe. It contains data in both the training period\n",
    "# and forecast period which is needed for some transformers (e.g., lags and windows).\n",
    "look_back_start_time = forecast_start_time - look_back_window_size\n",
    "\n",
    "# Create `df_predict` which has data going as far back\n",
    "# as needed to create features which need past values.\n",
    "df_predict = df_train.loc[look_back_start_time:].copy()\n",
    "\n",
    "# Extend index into forecast horizon\n",
    "df_predict = pd.concat([df_predict, pd.DataFrame(index=forecast_horizon)])\n",
    "\n",
    "# --- RECURSIVE FORECASTING LOOP --- #\n",
    "for forecast_time in forecast_horizon:\n",
    "    # Compute features during the forecast horizon\n",
    "    X_test = pipeline.transform(df_predict)\n",
    "    X_test_ = X_test.loc[[forecast_time]]\n",
    "\n",
    "    # Predict one step ahead.\n",
    "    y_pred = model.predict(X_test_)\n",
    "\n",
    "    # Append forecast to the target variable columnn in our\n",
    "    # dynamic forecast dataframe `df_forecast`. This `df_forecast`\n",
    "    # is ready for the next iteration where we will re-compute\n",
    "    # features derived from the target such as lags and windows.\n",
    "    df_predict.loc[[forecast_time], target] = y_pred\n",
    "\n",
    "# --- GET FORECAST AND TEST VALUES --- #\n",
    "y_forecast = df_predict.loc[forecast_horizon, target]\n",
    "y_test = df_test.loc[forecast_start_time:, target]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "ebc2b162-4775-426d-a815-f3e08c316f84",
   "metadata": {},
   "outputs": [],
   "source": [
    "# --- CREATE IN-SAMPLE PREDICTIONS--- #\n",
    "y_forecast_train = model.predict(X_train)\n",
    "y_forecast_train = pd.DataFrame(y_forecast_train, index=X_train.index, columns=target)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "88c9a52b-ded8-4c4c-afd8-f15b458c7096",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Forecast with LinearRegression()')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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sDgCuPzyyzn22GO5995740Tn6tWrWbJkCYccolwWXbp04fTTT+faa69l7dq1YRHs9/u5/fbbKS4upmvXruHjt2zZwoMPPsgVV1wBwEUXXcSIESO4/vrrOfXUUxP+8w+FQlxyySVMmjSJN998M7z9ggsuoH///syZM4eXX3454TUYOnQo2dnZXHXVVYwcOZKzzjorvG/WrFkEg0E+//zzsDX097//Pf3792fWrFnMmzcvaq6RI0fy3HPPhR9v3LiRW265hbvuuotrrrkmvP24445j9OjRPPvss0yfPp3KykquvPJKRo8ezaJFi3C5Iv9opSVb9cUXX4x6HaZPn8706dN5+OGHufXWW3G5XPz4449s2LCBpUuXcvDBB4fHWi2Zp512GhdffDFDhw6Ner6a5tM1P41AAhd0skr/tJSlM5EISkRpTbQw/GFbJccOLmJi/0Le+UH9mE+xR+pZWi1sBZkuY+6mudc/Xr2LkCQswh5ctI7HPv2F2y2diszyQf6gxBdIbqtKqxCXUrm1nY5kic54y3LX/DT8sQGXQIoNbp06mBtf/56Q18+F37/JiRtUBFuNI5VFgyfwlydv5u6FqwEY3bs9I3vks25XjTF3kEojrjbbEJyNUVzuxmkXuC1Ct94fT2arymRYIz1V8MUDyv1ts6myRjtWJTfuMr2dsnK2P0CtOejd40LuLUGbc69rNI0xadKksOCEiJD65ZdfGjwuLS0Np9PJO++8Q21t/REPVqFTWVlJaWkp48eP55dffqGysjJq7NChQ8OCE2DUKFVJ68QTT4yyuprbY13sLpeLCy8MF0YgNTWVCy64gA0bNrB69eqE6/vuu+9Yt24dZ555JqWlpeGb3+9n7NixzcrSDgaDvPfee0ybNi0sOEGFEEydOpV33303zq09ffr0qMcLFixASsm0adOi1tWnTx+KiorC63rvvfeoqalhxowZUYITiBLZ1tehurqa0tJSxo4dS11dHT///DMQiUt988038fmSUPxY0yQKs1I5/aDIj6dk9keXUlJnsUC2pKWzPmFYVhP9Xvphm3JJWt+flx3RJywKrZnrBVnqPd1YIlGXPPX+TuRaNi1uphvddOFbsbr294a4jP4kxXUGQxK38dqZLnBvIEhhVip/mxzviQlKSLHbePTozvz984fDgnNZYT8uPPp6Hus5gWBqOl+tV3UuB3ZS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\n",
      "text/plain": [
       "<Figure size 720x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# --- PLOTTING --- #\n",
    "# Plot the forecast.\n",
    "fig, ax = plt.subplots(figsize=[10, 5])\n",
    "\n",
    "# Plot training set.\n",
    "y_train.plot(ax=ax, marker=\".\")\n",
    "# Plot actuals in forecasting horizon.\n",
    "y_test.plot(ax=ax, marker=\".\", alpha=0.6)\n",
    "# Plot forecast.\n",
    "y_forecast.plot(ax=ax)\n",
    "# Plot 1 step forecasts in training data.\n",
    "y_forecast_train.plot(ax=ax)\n",
    "\n",
    "ax.legend([\"train\", \"test\", \"forecast\", \"in-sample forecast\"])\n",
    "ax.set_xlabel(\"Time\")\n",
    "ax.set_ylabel(f\"{target}\")\n",
    "ax.set_title(f\"Forecast with {model}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "25190f06-4d0f-4812-a9fa-f3902df80a4c",
   "metadata": {},
   "source": [
    "Let's look at the model coeffecients."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "14d9b828-96e7-4b5c-b74e-aca22ccc482f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "time_since_1992-01-01 00:00:00    298382.728869\n",
       "time_since_2008-01-01 00:00:00   -236088.888860\n",
       "time_since_2009-04-01 00:00:00    211584.046592\n",
       "y_lag_1                           -16916.362130\n",
       "dtype: float64"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.Series(index=X_train.columns, data=model.coef_[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "43818417-67fb-41eb-b3f8-8d90544293d8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "32645.276865803837"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Compute error metrics.\n",
    "from sklearn.metrics import mean_squared_error\n",
    "mean_squared_error(y_test.loc[y_forecast.index], y_forecast, squared=False)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c4e7be44-a79a-47ae-a33d-4c9175e10da7",
   "metadata": {},
   "source": [
    "We can now implement a piecewise linear trend to deal with changepoints alongside other features in a recursive forecasting workflow. We can see that the changepoint features can help capture changes in trend in the data when using linear models."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8095381c-d652-4b1b-a49a-5d6d4460ef47",
   "metadata": {},
   "source": [
    "Feel free to change the dates, try different models, and different features!"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  },
  "vscode": {
   "interpreter": {
    "hash": "bbdc955b02f52fd4ac17df57dbf42f77a0da462020a5b6d7fea08231d1cd03fe"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
